package com.antifly.common.dao;

import com.antifly.common.pojo.entity.SysDictItemDO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 数据字典项表(SysDictItem)Dao接口
 *
 * @author makejava
 * @date 2023-04-25
 */
public interface SysDictItemDao extends IService<SysDictItemDO> {

    /**
     * 分页查询数据字典项表信息
     * @param key 搜索关键字
     * @param pageNum 当前页码
     * @param pageSize 每页展示数 当值为-1时默认展示全部
     * @return
     */
    Page<SysDictItemDO> selectSysDictItemList(String key, Integer pageNum, Integer pageSize);

    /**
     * 查询所有数据字典项表信息
     * @return
     */
    List<SysDictItemDO> selectSysDictItemList();
    
    /**
     * 查询所有数据字典项表信息
     * 
     * @return
     */
    List<Map<String, Object>> selectMaps();
    
     /**
     * 根据id查询数据字典项表信息
     * @param id 主键ID
     * @return
     */
     SysDictItemDO selectSysDictItemById(String id);

    /**
     * 插入数据字典项表信息
     * @param sysDictItemDO 数据字典项表信息
     * @return 数据字典项表ID，失败为null
     */
    String insertSysDictItem(SysDictItemDO sysDictItemDO);

    /**
     * 更新数据字典项表
     * @param sysDictItemDO 数据字典项表信息
     * @return
     */
    Boolean updateSysDictItem(SysDictItemDO sysDictItemDO);


    /**
     * 删除数据字典项表
     * @param sysDictItemId 数据字典项表ID
     * @return
     */
    Boolean deleteSysDictItem(String sysDictItemId);


}